#!/bin/bash  
cmd1="gunicorn --workers 2 --max-requests 200 --threads=2  -b 0.0.0.0:5003 -t30 subweb:subapp -D"
cmd2="nohup python celeryAsrTask.py&"
cmd3="nohup python celeryClipTask.py&"
  
while true; do  
    # 提示用户输入  
    clear  # 可选：清除屏幕内容（在某些系统上可能需要先安装 ncurses 或类似的库）  
    echo "智能字幕后台服务启动"  
    echo "请选择要运行的命令："  
    echo "1. 启动音频智剪任务管理后台Web服务,端口是:5003"  
    echo "2. 启动音频智剪Celery的ASR服务的worker"  
    echo "3. 启动音频智剪Celery的Clip服务的worker"  
    echo "4. 停止全部服务"
    echo "5. 退出"  
  
    # 读取用户输入  
    read -p "请输入数字: " choice  
  
    # 检查用户是否输入了 'q'  
  
    # 使用case语句判断  
    case $choice in  
        1)  
            echo "正在启动subweb报务..."  
            # 这里替换为你的命令1  
            # command1  
            eval $cmd1
            echo "命令执行完毕"  
            read -p "按任一键继续" choice1
            ;;  
        2)  
            echo "正在启动AsrTaskWeb服务..."  
            # 这里替换为你的命令2  
            # command2  
            eval $cmd2
            echo "执行完毕"  
            read -p "按任一键继续" choice1
            ;;  
        3)  
            echo "正在启动celeryClipTask服务 ..."  
            # 这里替换为你的命令3
            # command3
            eval $cmd3
            echo "执行完毕"  
            read -p "按任一键继续" choice1
            ;;  
        4)  
            echo "正在停止全部服务"  
            for pid in $(ps aux | grep subweb| grep -v grep | awk '{print $2}'); do kill -9 $pid; done
            for pid in $(ps aux | grep celeryAsrTask.py| grep -v grep | awk '{print $2}'); do kill -9 $pid; done
            for pid in $(ps aux | grep celeryClipTask.py| grep -v grep | awk '{print $2}'); do kill -9 $pid; done
            echo "全部服务停止"  
            ;;  
        5)  
            echo "退出"  
            # 这里替换为你的命令4  
            exit  
            ;;  
        *)  
            echo "无效的选择，请输入1-5之间。"  
            read -p "按任一键继续" choice1
            ;;  
    esac  
done  
  
echo "脚本已退出"
